package team.hyznrj.studentsys.entity;

import java.util.HashMap;
import java.util.Map;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
/**
 * 操行分统计实体(包括对总分、加分、扣分的统计)
 * @author 郑泽锋
 * @date 2018年5月9日
 */
@Data
@ToString
@AllArgsConstructor
@NoArgsConstructor
public class QualityMessage{
	/**
	 * 操行分类型编号
	 */
	private String typeNo;
	/**
	 * 操行分类型名
	 */
	private String type;
	/**
	 * 操行分详情
	 */
	private Map<String,Double> projectMessage;
	/**
	 * 操行分计数
	 */
	double count=0.0f;
	/**
	 * 2018年7月25日
	 * 奖励分4（思想政治2分，道德品质2分） 奖励分不超过4分，扣除分不超过6分。(注意加分上限的情况学生手册P43)
	 * 这里要分成 思想政治和道德品质分，所以要有4个变量进行存储
	 * 1代表思想政治分，2代表道德品质分
	 * */
	double positive_count=0.0f;
	double negetive_count=0.0f;
	
	public void put(final String key,final double value){
//		System.err.println(typeNo+"-->"+key+":"+value);
		if(projectMessage==null){
			projectMessage=new HashMap<>();
		}
		//TODO 重复数据应由用户决定
//		if(projectMessage.containsKey(key)){
//			/**
//			 * 如果之前存在这个项目，则应该把它删除（避免导入重复数据而进行重复运算）
//			 */
//			count-=projectMessage.get(key);
//			if(value>0){
//					positive_count-=value;
//			}else{
//				//减去负数相当于+
//				negetive_count-=value;
//			}
//		}
		count+=value;
		if(value>0){
			positive_count+=value;
//			System.out.println(key+"  add->>>"+value);
		}else{
			negetive_count+=value;
		}
		projectMessage.put(key, value);
	}
}

